package utils;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;
import java.util.List;

import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;


public class XmlDefault {
	
	private String nomFichier;
	private org.jdom.Document document;
	private Element racine;
	
	public XmlDefault(String nomFichier){
		this.nomFichier = nomFichier;
		SAXBuilder sxb = new SAXBuilder();
		try {
			document = sxb.build(new File(nomFichier));
			racine = document.getRootElement();
		}catch (Exception e) {}
	}

	public org.jdom.Document getDocument() {
		return this.document;
	}

	public void setDocument(org.jdom.Document document) {
		this.document = document;
	}

	public Element getRacine() {
		return this.racine;
	}

	public void setRacine(Element racine) {
		this.racine = racine;
	}
	
	public void save(){
		try
		{
			document.setRootElement(getRacine());
			XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
		    sortie.output(this.document, new FileOutputStream(this.nomFichier));
		}
		catch (java.io.IOException e){}
	}
	public Element getRacinePrincipale() {
		return getRacine();
	}

	public void saveRacine(Element racine) {
		this.setRacine(racine);
		save();
	}
	@SuppressWarnings("rawtypes")
	public void updateEquipeParticipant(String participant,String equipe){
		@SuppressWarnings("unchecked")
		List<Element> listElement = getRacine().getChildren("participant");
		Iterator i = listElement.iterator();
		boolean trouve = false;
		while(i.hasNext() && !trouve){
			Element element = (Element)i.next();
			if(element.getChildText("id").equals(participant))
				element.getChild("equipe").setText(equipe);
		}
		save();
	}
	
}
